[YouTube 영상] https://www.youtube.com/watch?v=vmyrJJKXl-8
- 초음파센서 HC-SR04
- 40kHz의 주파수를 발생시켜 최대 4.0m까지 거리 측정 가능
- 초음파는 1초에 약 340m 이동
- 초음파가 물체에 반사되어 돌아오는 시간차를 계산하여 거리 측정
pulseIn(pin, value) 함수 설명:
- pin: 읽을 핀 번호
- value: HIGH 또는 LOW로 설정된 신호를 측정
- HIGH일 경우, LOW → HIGH → LOW 구간을 측정하여 마이크로초 단위로 반환
🔗 초음파 센서 코드:
nt echo = 8; // 초음파 센서의 에코 핀을 8번 핀에 연결
int trig = 9; // 초음파 센서의 트리거 핀을 9번 핀에 연결
void setup() {
Serial.begin(9600); // 시리얼 통신을 9600보 데이터 전송 속도로 초기화
pinMode(trig, OUTPUT); // 트리거 핀을 출력 모드로 설정
pinMode(echo, INPUT); // 에코 핀을 입력 모드로 설정
}
void loop() {
float cycletime; // 에코 핑거의 신호 주기 저장 변수
float distance; // 거리 저장 변수
digitalWrite(trig, HIGH); // 트리거 신호를 HIGH로 설정하여 초음파 발생
delay(10); // 10밀리초 대기
digitalWrite(trig, LOW); // 트리거 신호를 LOW로 설정하여 초음파 발생 중지
// 에코 핀으로부터의 펄스 신호를 측정하여 주기를 계산
cycletime = pulseIn(echo, HIGH);
// 초음파의 속도(340m/s)를 이용하여 거리를 계산 후 변수에 저장
distance = ((340 * cycletime) / 10000) / 2;
Serial.print("Distance:"); // 시리얼 모니터에 거리 출력 시작
Serial.print(distance); // 계산된 거리 출력
Serial.println("cm"); // 거리 단위 (cm) 출력
delay(1000); // 1초 대기
}